home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio 5 / Ray Dream.iso / pc / DreamSDK / Windows / INCLUDES / RDALLOC.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-11  |  1.1 KB  |  46 lines

  1. /* $Id: rdalloc.h 1.9 1997/04/16 18:42:57 Emil Exp $ */
  2. #ifndef __RDALLOC__
  3. #define __RDALLOC__
  4.  
  5. void RDCollect();
  6. void *RDmallocLeaf(unsigned long  size);
  7.  
  8. void* RDmalloc(unsigned long  size);
  9. void* RDcalloc(unsigned long nmemb, unsigned long size);
  10. void* RDrealloc(void* ptr, unsigned long  size);
  11. void RDfree(void* ptr);
  12.  
  13. short RDRegisterPool(short size);  
  14. void *RDmallocUsePool(short poolID,long size);
  15.  
  16. void InitAllocator(void);
  17.  
  18. void *RDHighmalloc(unsigned long size);
  19. void RDHighfree(void *ptr);
  20.  
  21. enum MemStatus {kMemOK, kMemRetry, kMemCancel};
  22. typedef MemStatus (*MemChecker)(void*, unsigned long, void*);
  23.  
  24. void SetMemChecker(MemChecker checker, void* priv);
  25. //void GetMemChecker(MemChecker& checker, void*& priv);
  26.  
  27. class CWhileInMemCheckerDisable {
  28. public:
  29.     CWhileInMemCheckerDisable();
  30.     ~CWhileInMemCheckerDisable();
  31.     void Clean();
  32. protected:
  33.     void * fWasDisabled;
  34.     };
  35.  
  36.  
  37. unsigned long RDMaxBlock();
  38. unsigned long RDFreeMem();
  39.  
  40.  
  41. //debug only
  42. //remember that it doesn't necessarily catch everything
  43. //something else can be reallocated at the same place.
  44. int RDIsPointerValid(void* ptr);
  45. #endif 
  46.